home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / screen.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-09  |  5.4 KB  |  142 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * AScreen wrapper class                                                     *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_AScreen_H
  12. #define ASAP_AScreen_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/Intuition.h>
  19. }
  20.  
  21. class AScreen : public Screen
  22. {
  23.  public:
  24.  inline ULONG ChangeScreenBuffer(ScreenBuffer * sb);
  25.  inline BOOL CloseScreen();
  26.  inline void operator delete(void *screen);
  27.  inline void DisplayBeep();
  28.  inline static Screen * LockPubScreen(UBYTE * name);
  29.  inline LONG MakeScreen();
  30.  inline void MoveScreen(long dx, long dy);
  31.  inline UBYTE * NextPubScreen(UBYTE * namebuf);
  32.  inline static AScreen * OpenScreen(NewScreen * newscreen);
  33.  inline void * operator new(size_t, NewScreen * newscreen);
  34.  inline static AScreen * OpenScreenTagList(NewScreen * newscreen, TagItem * tagList);
  35.  inline void * operator new(size_t, NewScreen * newscreen, TagItem * tagList);
  36.  inline static AScreen * OpenScreenTags(NewScreen * newscreen, unsigned long tag1Type,  ...);
  37.  inline void * operator new(size_t, NewScreen * newscreen, unsigned long tag1Type,  ...);
  38.  inline UWORD PubScreenStatus(unsigned long statusFlags);
  39.  inline void ScreenDepth(unsigned long flags, APTR reserved = 0);
  40.  inline void ScreenPosition(unsigned long flags, long x1, long y1, long x2, long y2);
  41.  inline void ScreenToBack();
  42.  inline void ScreenToFront();
  43.  inline void ShowTitle(long showIt = 1);
  44. };
  45. //----------------------------------------------------------------------------
  46. ULONG AScreen::ChangeScreenBuffer (ScreenBuffer * sb)
  47. {
  48.  return ::ChangeScreenBuffer(this, sb);
  49. }
  50. //----------------------------------------------------------------------------
  51. BOOL AScreen::CloseScreen ()
  52. {
  53.  return ::CloseScreen(this);
  54. }
  55. //----------------------------------------------------------------------------
  56. void AScreen::DisplayBeep ()
  57. {
  58.  ::DisplayBeep(this);
  59. }
  60. //----------------------------------------------------------------------------
  61. Screen * AScreen::LockPubScreen (UBYTE * name)
  62. {
  63.  return ::LockPubScreen(name);
  64. }
  65. //----------------------------------------------------------------------------
  66. LONG AScreen::MakeScreen ()
  67. {
  68.  return ::MakeScreen(this);
  69. }
  70. //----------------------------------------------------------------------------
  71. void AScreen::MoveScreen (long dx, long dy)
  72. {
  73.  ::MoveScreen(this, dx, dy);
  74. }
  75. //----------------------------------------------------------------------------
  76. UBYTE * AScreen::NextPubScreen (UBYTE * namebuf)
  77. {
  78.  return ::NextPubScreen(this, namebuf);
  79. }
  80. //----------------------------------------------------------------------------
  81. AScreen * AScreen::OpenScreen (NewScreen *newscreen)
  82. {
  83.  return (AScreen *) ::OpenScreen(newscreen);
  84. }
  85. //----------------------------------------------------------------------------
  86. void * AScreen::operator new (size_t, NewScreen *newscreen)
  87. {
  88.  return AScreen::OpenScreen(newscreen);
  89. }
  90. //----------------------------------------------------------------------------
  91. AScreen * AScreen::OpenScreenTagList (NewScreen * newscreen, TagItem * tagList)
  92. {
  93.  return (AScreen *) ::OpenScreenTagList(newscreen, tagList);
  94. }
  95. //----------------------------------------------------------------------------
  96. void * AScreen::operator new (size_t, NewScreen * newscreen, TagItem * tagList)
  97. {
  98.  return AScreen::OpenScreenTagList(newscreen, tagList);
  99. }
  100. //----------------------------------------------------------------------------
  101. AScreen * AScreen::OpenScreenTags (NewScreen * newscreen, unsigned long tag1Type,  ...)
  102. {
  103.  return (AScreen *) AScreen::OpenScreenTagList(newscreen, (TagItem *) &tag1Type);
  104. }
  105. //----------------------------------------------------------------------------
  106. void * AScreen::operator new (size_t, NewScreen * newscreen, unsigned long tag1Type, ...)
  107. {
  108.  return AScreen::OpenScreenTagList(newscreen, (TagItem *) &tag1Type);
  109. }
  110. //----------------------------------------------------------------------------
  111. UWORD AScreen::PubScreenStatus (unsigned long statusFlags)
  112. {
  113.  return ::PubScreenStatus(this, statusFlags);
  114. }
  115. //----------------------------------------------------------------------------
  116. void AScreen::ScreenDepth (unsigned long flags, APTR reserved)
  117. {
  118.  ::ScreenDepth(this, flags, reserved);
  119. }
  120. //----------------------------------------------------------------------------
  121. void AScreen::ScreenPosition (unsigned long flags, long x1, long y1, long x2, long y2)
  122. {
  123.  ::ScreenPosition(this, flags, x1, y1, x2, y2);
  124. }
  125. //----------------------------------------------------------------------------
  126. void AScreen::ScreenToBack ()
  127. {
  128.  ::ScreenToBack(this);
  129. }
  130. //----------------------------------------------------------------------------
  131. void AScreen::ScreenToFront ()
  132. {
  133.  ::ScreenToFront(this);
  134. }
  135. //----------------------------------------------------------------------------
  136. void AScreen::ShowTitle (long showIt)
  137. {
  138.  ::ShowTitle(this, showIt);
  139. }
  140.  
  141. #endif
  142.